緣由,因為使用者當AD + EXCHANGE 針對快要逾期的密碼,需要發郵件通知使用者即時變更密碼。
藉由這一個問題,我利用關鍵字於 PowerShell 網站中找到了一個程式 Password Expiry Email Notification 可以運用 。下載使用後發現通知信的中文會出現 '???' 的亂碼。
藉由Google大神搜尋 Power Shell 中文亂碼,得到結論是加入 $OutputEncoding = New-Object -typename System.Text.UTF8Encoding 或是 $Encoding ([System.Text.Encoding]::UTF8) ,結果不能解決問題。
最後,曙光一線 找到這一個連結 中間有介紹到他改寫的程式能發出中文通知信,我詳讀一下他的語法,原來優 要於 PwoerShell 的程式 Send-Mailmessge 中加入 -Encoding ([System.Text.Encoding]::UTF8) 才可以啦!我真是竹本口木子。
也就是 Password Expiry Email Notification 範例程式要改成如下即可。
Send-Mailmessage -smtpServer $smtpServer -from $from -to $emailaddress -subject $subject -body $body -bodyasHTML -priority High -Encoding ([System.Text.Encoding]::UTF8)
文章同步於